RACUNARSKE PERIFERIJE I INTERFEJSI
Ispit
11.06.2018.g.
Redni broj testa: 5
OBAVEZNO UNESITE SLJEDECE PODATKE:
Ime:
Prezime:
Broj indeksa:
/
NAPOMENE:
Koriscenje mobilnih telefona nije dozvoljeno.
Na racunaru smiju biti aktivni samo prozor sa testom i Calculator.
Ukoliko birate jedan od ponudjenih odgovora:
- Tacan izbor daje 10%.
- Netacan izbor daje -5% (negativni poeni).
- "Ne znam" daje 0.
Ukoliko unosite broj u edit polje:
- Tacan odgovor daje 10%.
- Netacan odgovor daje 0.
Test se predaje klikom na taster "
PREDAJEM TEST
".
U slucaju da student ne moze da preda test iz bilo kojeg razloga, obavezan je da se odmah javi nastavniku, zatim, da prepise na papir redni broj testa, ime, prezime, broj indeksa i rjesenja zadataka koje je uradio i to preda nastavniku.
TEST
P0. Dat je sledeci dio programa:
for(;;) {
SetLED(1); sleep(2);
SetLED(2); sleep(3);
SetLED(4); sleep(4);
if ((PINC&16+PIND&32) == 32) break;
}
Ovaj program obavlja funkciju semafora, koji prestaje da radi kada je ...
1.
pritisnut taster i zatvoren prekidac
2.
otpusten taster i zatvoren prekidac
3.
pritisnut taster i otvoren prekidac
4.
otpusten taster i otvoren prekidac
5.
Ni jedan ponudjeni odgovor nije tacan
6.
Ne znam odgovor
P1. Ako koracni motor ima 64 koraka po krugu, koliko ce ovaj program odraditi krugova?
for(i=0; i<64; i+=2) {
for(n=0; n< 8; n+=1) {
SetStep(polukorak[n]);
delay(CEKANJE);
}
}
Unijeti tacan odgovor:
P2. Dat je dio programa, inkrementalnog davaca sa pracenjem smjera kretanja:
switch(staro){
case S0: if(novo==S1) p++;
if(novo==S3) p--;
break;
case S1: if(novo==S2) p++;
if(novo==S0) p--;
break;
case S2: if(novo==S3) p++;
if(novo==S1) p--;
break;
case S3: if(novo==S1) p++;
if(novo==S2) p--;
break;
}
Da bi program ispravno funkcionisao izmijeniti jednu njegovu liniju, i to umjesto:
1.
u case S3 umjesto if(novo==S2) p--; staviti if(novo==S3) p--;
2.
u case S0 umjesto if(novo==S3) p--; staviti if(novo==S0) p--;
3.
u case S3 umjesto if(novo==S1) p++; staviti if(novo==S0) p++;
4.
u case S1 umjesto if(novo==S2) p++; staviti if(novo==S3) p++;
5.
Ni jedan ponudjeni odgovor nije tacan
6.
Ne znam odgovor
P3. Dat je dio programa, za upravljanje intenzitetom svjetla po unaprijed zadatim odbircima.
for(i=0;;)
{
SetDAC(odbirak[i]);
delay(1000);
i++;
}
Pri cemu je niz odbiraka definisan kao
int odbirak[15]={0,2,4,6,8,10,12,14, 12, 10, 8, 6, 4, 2, 0};
Da bi se ostvarila trouglasta funkcija intenziteta svjetla potrebno je:
1.
umjesto SetDAC(odbirak[i]); staviti SetDAC(odbirak[i%7]);
2.
nakon i++; dodati if(i>14)i=0;
3.
nakon i++; dodati if(i>=14)i=0;
4.
umjesto i++; staviti i+=2;
5.
Ni jedan ponudjeni odgovor nije tacan
6.
Ne znam odgovor
P4. Dat je dio programa za realizaciju A/D konvertora sa alarmom, metodom pratece konverzije:
if(digitalRead(COMP_OUT)){
if(brojac< 15)brojac++;
}
else{
if(brojac>0)brojac--;
}
Serial.println(brojac);
SetDAC(brojac);
if((brojac*5/15 < 5) || (brojac*5/15 > 0)) SetLED(1);
else SetLED(0);
Alarm se, paljenjem crvene LED, aktivira…
1.
prelaskom ispod donje granice
2.
alarm je uvijek aktivan
3.
kada je nivo izmedju donje i gornje granice
4.
prelaskom iznad gornje granice
5.
Ni jedan ponudjeni odgovor nije tacan
6.
Ne znam odgovor
P5. Dat je dio koda potreban za realizaciju A/D konvertora metodom sukcesivnih aproksimacija:
for(tezina=8; tezina; ???){
napon+=tezina;
SetDAC(napon);
delay(50);
if(!(digitalRead(COMP_OUT)))napon-=tezina;
}
Umjesto ??? treba da stoji
1.
tezina>>=1
2.
tezina++
3.
tezina--
4.
tezina*=2
5.
Ni jedan ponudjeni odgovor nije tacan
6.
Ne znam odgovor
P6. AT komanda "AT+CLIP" sluzi za:
1.
listanje SMS poruka iz odabrane memorije
2.
mjerenje jacine RF polja (signal quality)
3.
ukljucenje identifikacije dolaznog poziva
4.
slanje SMS poruke
5.
Ni jedan ponudjeni odgovor nije tacan
6.
Ne znam odgovor
P7. Integrisano kolo MAX232:
1.
sluzi za napajanje GSM modema
2.
koristi se za interfejsnu vezu PC-a i GSM telefona/modema
3.
regulise punjenje baterije u GSM telefonu/modemu
4.
daje uobicajenu elektricnu semu
5.
Ni jedan ponudjeni odgovor nije tacan
6.
Ne znam odgovor
P8. Dat je dio koda potreban za prijem podataka serijskom vezom i njihovo smjestanje u niz inputString.
while(Serial1.available()==0) {
char inChar = (char)Serial1.read();
if ((inChar == '\n') || (inChar == '\r') ) {
stringComplete = true;
}
if(stringComplete == false){
inputString += inChar;
}
}
Da bi program ispravno radio, potrebno je:
1.
Ne treba nista. U redu je.
2.
Umjesto Serial.read(); staviti Serial.read(1);
3.
Umjesto inputString+=inChar; staviti inputString=inChar;
4.
Umjesto while(Serial.available()==0) staviti while(Serial1.available()!=0)
5.
Ni jedan ponudjeni odgovor nije tacan
6.
Ne znam odgovor
P9. Dva PC racunara mogu da se povezu preko USB portova:
1.
pomocu specijalnog kabla sa ugradjenim mikrokontrolerom
2.
pomocu trozilnog kabla sa ukrstenim linijama za Tx i Rx
3.
pomocu standardnog UTP kabla
4.
pomocu profesionalnog koaksijalnog kabla
5.
Ni jedan ponudjeni odgovor nije tacan
6.
Ne znam odgovor
Zavrsio sam sa radom.